Dynamic Witnesses for Static Type Errors
نویسندگان
چکیده
Static type errors are a common stumbling block for newcomers to typed functional languages. We present a dynamic approach to explaining type errors by generating counterexample witness inputs that illustrate how an ill-typed program goes wrong. First, given an ill-typed function, we symbolically execute the body to synthesize witness values that make the program go wrong. We prove that our procedure synthesizes general witnesses in that if a witness is found, then for all inhabited input types, there exist values that can make the function go wrong. Second, we show how to extend the above procedure to produce a reduction graph that can be used to interactively visualize and debug witness executions. Third, we evaluate the coverage of our approach on two data sets comprising over 4,500 ill-typed student programs. Our technique is able to generate witnesses for 88% of the programs, and our reduction graph yields small counterexamples for 81% of the witnesses. Finally, we evaluate whether our witnesses help students understand and fix type errors, and find that students presented with our witnesses show a greater understanding of type errors than those presented with a standard error message.
منابع مشابه
Relationship between somatotype and static, semi-dynamic and dynamic postural control in adolescent, young and middle-aged women
Objective: Somatotype is a method to describe the human physique which can influence postural control. The aim of this study was the relationship between somatotype and static, semi-dynamic and dynamic postural control. Methods: 140 females 12-50-year-old(26.45±10.94) participated in this study who had no skeletal, vestibular and neurological abnormalities and no trauma or pain in lower extrem...
متن کاملRelationship between Static and Dynamic Balance Characteristics with Types of MS in Women
MS is a lifelong disease that could involve the person in different forms. Knowing balance characteristics of different types of this chronic disease helps the specialists for controlling their complications. The purpose of this study was to recognize static and dynamic balance of different type of MS and to compare MS patients with healthy individual. 54 MS women in three groups (27- Relapsing...
متن کاملCombining Static and Dynamic Typing in Ruby
Title of dissertation: Combining Static and Dynamic Typing in Ruby Michael Furr Doctor of Philosophy, 2009 Dissertation directed by: Professor Jeffrey S. Foster Department of Computer Science Many popular scripting languages such as Ruby, Python, and Perl are dynamically typed. Dynamic typing provides many advantages such as terse, flexible code and the ability to use highly dynamic language co...
متن کاملEvaluation of Static and Dynamic Methods for Determining the Bearing Capacity of the Driven Pipe Piles (TECHNICAL NOTE)
Determination of the pile capacity is always a major concern for the safe geotechnical engineering design. Different direct and indirect methods have been proposed for determining pile bearing capacity such as static and dynamic approaches. Each method depends on the condition of the soil and type of pile as well as accessibility to necessary information. In this study bearing capacity of drive...
متن کاملThe Effect of Basic Gymnastic Exercises in Environments with Different Colors, on Static and Dynamic Balance
The current research aims to compare the effect of basic gymnastic exercises in environments with different colors, on static and dynamic balance. Participants were 40 female students ranging in age from 8 to 10 years, who were classified into three groups: "exercise in the environment with warm colors", "exercise in the environment with cool colors" and "exercise in the environment with compou...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- CoRR
دوره abs/1606.07557 شماره
صفحات -
تاریخ انتشار 2016